package com.cius.ssm.controller;


import com.cius.ssm.entity.Product;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.ArrayList;
import java.util.List;

/**
 * 注解开发handler
 * 实现HttpRequestHandler接口的处理器
 * Created by ciuscheung on 17/4/4.
 */

//使用@Controller标识它是一个控制器
@Controller
public class ProductControllerByAnnotation{

//    @RequestMapping实现对queryProducts方法和url进行映射,一个方法对应一个url
//    一般建议将url和方法名写成一样
    @RequestMapping("/queryProductsByAnnotation")
    public ModelAndView queryProductsByAnnotation()throws Exception{
        List<Product> lists = new ArrayList<Product>();

        Product product1 = new Product();
        product1.setId(1);
        product1.setName("手机5");

        Product product2 = new Product();
        product2.setId(2);
        product2.setName("电脑");

        lists.add(product1);
        lists.add(product2);

        //        返回ModelAndView
        ModelAndView modelAndView = new ModelAndView();
//        相当于request的setAttribute方法,在jsp页面中通过lists取数据
        modelAndView.addObject("lists",lists);
//        下边的路径,如果在视图解析器中配置了前后缀,就修改为
//        modelAndView.setViewName("/WEB-INF/jsp/product/productList.jsp");
        modelAndView.setViewName("product/productList");

        return modelAndView;
    }

}
